Python enumの実装
propertyクラス
組み込みのpropertyデコレータをこれと区別するためにbultinsをimportしている!
types.DynamicClassAttributeを継承したクラス
This is a descriptor, used to define attributes that act differently when accessed through an enum member and through an enum class.
_member_map_を使っている(TODO)
_proto_memberクラス
propertyが使われている
intermediate step for enum members between class execution and final creation